本位为您介绍Android端K歌房场景的API说明。
API概览
分类 | API | 说明 |
ARTCKaraokeRoomController | 获取榜单列表 | |
获取榜单歌曲列表 | ||
获取歌曲信息 | ||
获取歌词 | ||
获取歌曲标准音高 | ||
搜索歌曲 | ||
下载歌曲 | ||
增加下载回调监听 | ||
删除下载回调监听 | ||
获取远端播放列表(当前播放中+未播放) | ||
能否点歌 权限:麦上成员可以点歌 | ||
能否删歌 权限:房主、点歌成员可以删歌 | ||
点歌,歌曲下载完成后才会加入到播放列表 | ||
删除已点歌曲 | ||
能否置顶已点歌曲 权限:房主、点歌成员可以置顶 | ||
置顶已点歌曲 | ||
获取当前播放列表中正在播放的歌曲 | ||
获取本地播放列表 | ||
增加播放引擎监听 | ||
删除播放引擎监听 | ||
转换演唱角色,以管理相应角色的推拉流逻辑。 调用时机:开始演唱前,或者结束演唱后 | ||
加载音乐资源,当收到加载成功回调后即可调用播放音乐 | ||
加载版权音乐资源,当收到加载成功回调后即可调用 | ||
播放音乐。需要先调用loadMusic并收到加载成功回调,才能调用此方法开始播放。 如果设置了KTVMusicConfig#autoPlay 为 true 则可以不调用此方法; 合唱者也可以不调用此方法,内部会自动同步主唱者播放状态 | ||
停止播放音乐 | ||
继续播放音乐 | ||
暂停播放音乐 | ||
跳到某个位置 | ||
获取音乐总时长,必须在加载音乐资源成功后调用才有效,否则返回 0 | ||
获取当前播放进度,必须在加载音乐资源成功后调用才有效,否则返回 0 | ||
切换伴奏/原唱模式 | ||
设置伴奏(音乐播放)音量 | ||
能否切换播放模式,权限:主唱+伴唱 | ||
能否加入合唱 权限:麦上且不是主唱 | ||
自己是否主唱人 | ||
自己是否是合唱者 | ||
加入合唱 | ||
退出合唱 | ||
切歌 | ||
能否删歌 权限:房主+点歌成员 | ||
同步自己的演唱分数 | ||
新用户进入房间可以要求同步当前的房间状态、演唱状态 | ||
ARTCKaraokeRoomControllerDelegate | 歌曲下载完成,回调信息包含: 歌曲信息 | |
已点歌曲列表更新,回调信息包含: 歌单更新原因()、触发更新的用户、此次更新的歌曲列表、完整的歌曲列表 | ||
准备播放下一首歌曲,回调信息包含: 歌曲信息、等待时长 | ||
房间状态(Init 1 初始状态、Waiting 2 等待姿态、Singing 3 演唱状态)更新,回调信息包含: 旧状态、新状态、歌曲ID | ||
演唱状态(Idle 1 未播放状态、Playing 2 播放中、Paused 3 暂停、Completed 4 播放完成)更新,回调信息包含: 旧状态、新状态、演唱分数(演唱结束时带上) | ||
新用户请求发送房间当前状态,回调信息包含: 新用户ID | ||
ARTCKaraokeRoomMusicLibrary | 获取榜单列表 | |
获取榜单歌曲列表 | ||
获取歌曲信息 | ||
获取歌词 | ||
获取歌曲标准音高 | ||
搜索歌曲 | ||
下载歌曲 | ||
歌曲是否已经下载完成 | ||
设置下载回调监听 | ||
销毁曲库实例 | ||
ARTCKaraokeRoomMusicLibraryCallback | 歌曲下载完成,回调信息包含: 歌曲信息 | |
ARTCKaraokeRoomEngine | 设置播放引擎监听 | |
转换演唱角色,以管理相应角色的推拉流逻辑。 调用时机:开始演唱前,或者结束演唱后 | ||
加载音乐资源,当收到加载成功回调后即可调用播放音乐 | ||
加载版权音乐资源,当收到加载成功回调后即可调用 | ||
播放音乐。需要先调用loadMusic并收到加载成功回调,才能调用此方法开始播放。 如果设置了KTVMusicConfig#autoPlay 为 true 则可以不调用此方法; 合唱者也可以不调用此方法,内部会自动同步主唱者播放状态 | ||
停止播放音乐 | ||
继续播放音乐 | ||
暂停播放音乐 | ||
跳到某个位置 | ||
获取音乐总时长,必须在加载音乐资源成功后调用才有效,否则返回 0 | ||
获取当前播放进度,必须在加载音乐资源成功后调用才有效,否则返回 0 | ||
切换伴奏/原唱模式 | ||
设置伴奏(音乐播放)音量 | ||
ARTCKaraokeRoomEngineCallback | 音乐资源准备状态回调 听众角色不会收到这个回调 | |
音乐播放状态回调 听众角色不会收到这个回调 | ||
音乐播放进度回调 | ||
演唱角色变化回调 |
ARTCKaraokeRoomController详情
fetchMusicChartList
API含义:获取榜单列表
使用示例:
void fetchMusicChartList(@NonNull ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicChartCallback callback);
参数详情:
参数 | 类型 | 含义 |
callback | ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicChartCallback | 回调接口 |
fetchMusicList
API含义:获取榜单歌曲列表
使用示例:
void fetchMusicList(@NonNull String chartId, int pageIndex, int pageSize, @NonNull ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicInfoListCallback callback);
参数详情:
参数 | 类型 | 含义 |
chartId | String | 榜单ID |
pageIndex | int | 列表页index |
pageSize | int | 列表页大小 |
callback | ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicInfoListCallback | 回调接口 |
fetchMusicInfo
API含义:获取歌曲信息
使用示例:
void fetchMusicInfo(@NonNull String songId, @NonNull ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicInfoCallback callback);
参数详情:
参数 | 类型 | 含义 |
songId | String | 歌曲ID |
callback | ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicInfoCallback | 回调接口 |
fetchMusicLyric
API含义:获取歌词
使用示例:
void fetchMusicLyric(@NonNull String songId, @NonNull ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicLyricCallback callback);
参数详情:
参数 | 类型 | 含义 |
songId | String | 歌曲ID |
callback | ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicLyricCallback | 回调接口 |
fetchMusicPitch
API含义:获取歌曲标准音高
使用示例:
void fetchMusicPitch(@NonNull String songId, @NonNull ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicPitchCallback callback);
参数详情:
参数 | 类型 | 含义 |
songId | String | 歌曲ID |
callback | ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicPitchCallback | 回调接口 |
searchMusic
API含义:搜索歌曲
使用示例:
void searchMusic(@NonNull String keyword, int pageIndex, int pageSize, @NonNull ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicInfoListCallback callback);
参数详情:
参数 | 类型 | 含义 |
keyword | String | 搜索关键字 |
pageIndex | int | 歌曲列表页Index |
pageSize | int | 歌曲列表页Size |
callback | ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicInfoListCallback | 回调接口 |
downloadMusic
API含义:下载歌曲
使用示例:
void downloadMusic(@NonNull String songId, ARTCKaraokeRoomActionCallback actionCallback);
参数详情:
参数 | 类型 | 含义 |
songId | String | 歌曲ID |
actionCallback | ARTCKaraokeRoomActionCallback | 回调接口 |
addDownloadCallback
API含义:增加下载回调监听
使用示例:
void addDownloadCallback(@NonNull ARTCKaraokeRoomMusicLibraryCallback callback);
参数详情:
参数 | 类型 | 含义 |
callback | ARTCKaraokeRoomMusicLibraryCallback | 回调接口 |
removeDownloadCallback
API含义:删除下载回调监听
使用示例:
void removeDownloadCallback(@NonNull ARTCKaraokeRoomMusicLibraryCallback callback);
参数详情:
参数 | 类型 | 含义 |
callback | ARTCKaraokeRoomMusicLibraryCallback | 回调接口 |
fetchMusicPlayingList
API含义:获取远端播放列表(当前播放中+未播放)
使用示例:
void fetchMusicPlayingList(@NonNull ARTCKaraokeRoomMusicPlayingListServiceCallback callback);
参数详情:
参数 | 类型 | 含义 |
callback | ARTCKaraokeRoomMusicPlayingListServiceCallback | 回调接口 |
checkCanAddMusic
API含义:能否点歌(权限:麦上成员可以点歌)
使用示例:
boolean checkCanAddMusic();
checkCanRemoveMusic
API含义:能否删歌(权限:房主、点歌成员可以删歌)
使用示例:
boolean checkCanRemoveMusic(@NonNull KTVPlayingMusicInfo ktvPlayingMusicInfo);
参数详情:
参数 | 类型 | 含义 |
ktvPlayingMusicInfo | KTVPlayingMusicInfo | 歌曲 |
addMusic
API含义:点歌,歌曲下载完成后才会加入到播放列表
使用示例:
void addMusic(@NonNull KTVMusicInfo musicInfo);
参数详情:
参数 | 类型 | 含义 |
musicInfo | KTVMusicInfo | 歌曲 |
removeMusic
API含义:删除已点歌曲
使用示例:
void removeMusic(@NonNull KTVPlayingMusicInfo ktvPlayingMusicInfo);
参数详情:
参数 | 类型 | 含义 |
ktvPlayingMusicInfo | KTVPlayingMusicInfo | 播放列表的歌曲 |
removeMusic
API含义:批量删除已点歌曲
使用示例:
void removeMusic(@NonNull List<KTVPlayingMusicInfo> ktvPlayingMusicInfoList);
参数详情:
参数 | 类型 | 含义 |
ktvPlayingMusicInfo | List<KTVPlayingMusicInfo> | 播放列表的歌曲 |
checkCanPinMusic
API含义:能否置顶已点歌曲(权限:房主、点歌成员可以置顶)
使用示例:
boolean checkCanPinMusic(@NonNull KTVPlayingMusicInfo ktvPlayingMusicInfo);
参数详情:
参数 | 类型 | 含义 |
ktvPlayingMusicInfo | KTVPlayingMusicInfo | 播放列表的歌曲 |
pinMusic
API含义:置顶已点歌曲
使用示例:
void pinMusic(@NonNull KTVPlayingMusicInfo ktvPlayingMusicInfo);
参数详情:
参数 | 类型 | 含义 |
ktvPlayingMusicInfo | KTVPlayingMusicInfo | 播放列表的歌曲 |
getCurrentPlayingMusicInfo
API含义:获取当前播放列表中正在播放的歌曲
使用示例:
KTVPlayingMusicInfo getCurrentPlayingMusicInfo();
getLocalPlayMusicInfoList
API含义:获取本地播放列表
使用示例:
List<KTVPlayingMusicInfo> getLocalPlayMusicInfoList();
addRoomEngineCallback
API含义:增加播放引擎监听
使用示例:
void addRoomEngineCallback(@Nullable ARTCKaraokeRoomEngineCallback callback);
参数详情:
参数 | 类型 | 含义 |
callback | ARTCKaraokeRoomEngineCallback | 回调接口 |
removeRoomEngineCallback
API含义:删除播放引擎监听
使用示例:
void removeRoomEngineCallback(@Nullable ARTCKaraokeRoomEngineCallback callback);
参数详情:
参数 | 类型 | 含义 |
callback | ARTCKaraokeRoomEngineCallback | 回调接口 |
setSingerRole
API含义:转换演唱角色,以管理相应角色的推拉流逻辑。调用时机:开始演唱前(必须在调用playMusic()前),或者结束演唱后。
使用示例:
boolean setSingerRole(KTVSingerRole newRole);
参数详情:
参数 | 类型 | 含义 |
newRole | KTVSingerRole | 目标转换角色 |
loadMusic
API含义:加载音乐资源,当收到加载成功回调后即可调用playMusic()播放音乐
使用示例:
void loadMusic(@NonNull String uri);
参数详情:
参数 | 类型 | 含义 |
uri | String | 本地或在线音乐地址 |
loadMusic
API含义:加载音乐资源,当收到加载成功回调后即可调用playMusic()播放音乐
使用示例:
void loadMusic(@NonNull KTVMusicConfig config);
参数详情:
参数 | 类型 | 含义 |
config | KTVMusicConfig | 音乐资源加载配置 |
loadCopyrightMusic
API含义:加载版权音乐资源,当收到加载成功回调后即可调用playMusic()播放音乐
使用示例:
void loadCopyrightMusic(@NonNull String songId);
参数详情:
参数 | 类型 | 含义 |
songId | String | 版权音乐ID |
playMusic
API含义:播放音乐。需要先调用loadMusic()并收到加载成功回调,才能调用此方法开始播放。如果设置了KTVMusicConfig#autoPlay为 true 则可以不调用此方法;合唱者也可以不调用此方法,内部会自动同步主唱者播放状态。
使用示例:
void playMusic();
stopMusic
API含义:停止播放音乐
使用示例:
void stopMusic();
resumeMusic
API含义:继续播放音乐
使用示例:
void resumeMusic();
pauseMusic
API含义:暂停播放音乐
使用示例:
void pauseMusic();
seekMusicTo
API含义:跳到某个位置继续播放
使用示例:
void seekMusicTo(long millisecond);
参数详情:
参数 | 类型 | 含义 |
millisecond | long | 播放位置 |
getMusicTotalDuration
API含义:获取音乐总时长,必须在加载音乐资源成功后调用才有效,否则返回 0
使用示例:
long getMusicTotalDuration();
getMusicCurrentProgress
API含义:获取当前播放进度,必须在加载音乐资源成功后调用才有效,否则返回 0
使用示例:
long getMusicCurrentProgress();
setMusicAccompanimentMode
API含义:切换伴奏/原唱模式
使用示例:
void setMusicAccompanimentMode(boolean original);
参数详情:
参数 | 类型 | 含义 |
original | boolean | 是否原唱 |
setMusicVolume
API含义:设置伴奏(音乐播放)音量
使用示例:
void setMusicVolume(int volume);
参数详情:
参数 | 类型 | 含义 |
volume | int | 目标音量 |
canChangeMusicAccompanimentMode
API含义:能否切换播放模式(权限:主唱+伴唱)
使用示例:
boolean canChangeMusicAccompanimentMode();
canJoinSinging
API含义:能否加入合唱(权限:麦上且不是主唱)
使用示例:
boolean canJoinSinging();
isLeadSinger
API含义:自己是否主唱人
使用示例:
boolean isLeadSinger();
isJoinSinger
API含义:自己是否是合唱者
使用示例:
boolean isJoinSinger();
joinSinging
API含义:加入合唱
使用示例:
void joinSinging(ARTCKaraokeRoomActionCallback callback);
参数详情:
参数 | 类型 | 含义 |
callback | ARTCKaraokeRoomActionCallback | 回调接口 |
leaveSinging
API含义:退出合唱
使用示例:
void leaveSinging(ARTCKaraokeRoomActionCallback callback);
参数详情:
参数 | 类型 | 含义 |
callback | ARTCKaraokeRoomActionCallback | 回调接口 |
skipMusic
API含义:切歌
使用示例:
void skipMusic();
checkCanSkipMusic
API含义:能否删歌(权限:房主、点歌成员)
使用示例:
boolean checkCanSkipMusic(KTVPlayingMusicInfo ktvPlayingMusicInfo);
参数详情:
参数 | 类型 | 含义 |
ktvPlayingMusicInfo | KTVPlayingMusicInfo | 歌单中的歌曲 |
updateScore
API含义:同步演唱分数
使用示例:
void updateScore(int score);
参数详情:
参数 | 类型 | 含义 |
score | int | 演唱分数 |
requestRemoteKtvState
API含义:新用户进入房间可以要求同步当前的房间状态
使用示例:
void requestRemoteKtvState();
ARTCKaraokeRoomControllerDelegate详情
onMusicDownloadCompleted
API含义:歌曲下载完成
使用示例:
void onMusicDownloadCompleted(KTVMusicInfo ktvMusicInfo);
参数详情:
参数 | 类型 | 含义 |
ktvMusicInfo | KTVMusicInfo | 下载完成的歌曲 |
onMusicPlayingUpdated
API含义:已点歌曲列表更新
使用示例:
/**
* 已点歌曲列表更新
* @param reason 歌单更新的原因 {@link KTVMusicPlayListUpdateReason}
* @param operateUserInfo 触发动作的用户,如切歌的用户
* @param kTVPlayingMusicInfoListUpdated 触发歌单更新相关的歌曲列表,如添加的歌曲
* @param ktvPlayingMusicInfoList 完整歌单
*/
void onMusicPlayingUpdated(
KTVMusicPlayListUpdateReason reason,
UserInfo operateUserInfo,
List<KTVPlayingMusicInfo> kTVPlayingMusicInfoListUpdated,
List<KTVPlayingMusicInfo> ktvPlayingMusicInfoList);
参数详情:
参数 | 类型 | 含义 |
reason | KTVMusicPlayListUpdateReason | 歌单更新的原因 |
operateUserInfo | UserInfo | 触发动作的用户,如切歌的用户 |
kTVPlayingMusicInfoListUpdated | List<KTVPlayingMusicInfo> | 触发歌单更新相关的歌曲列表,如添加的歌曲 |
ktvPlayingMusicInfoList | List<KTVPlayingMusicInfo> | 完整歌单 |
onMusicWillPlayNext
API含义:准备播放下一首歌曲
使用示例:
void onMusicWillPlayNext(KTVPlayingMusicInfo ktvPlayingMusicInfo, long notifyMilliseconds);
参数详情:
参数 | 类型 | 含义 |
ktvPlayingMusicInfo | KTVPlayingMusicInfo | 准备播放的歌曲 |
notifyMilliseconds | long | 等待的时长 |
onRoomStateChanged
API含义:房间状态更新
使用示例:
void onRoomStateChanged(KTVRoomState oldState, KTVRoomState newState, String songId);
参数详情:
参数 | 类型 | 含义 |
oldState | KTVRoomState | 旧房间状态 |
newState | KTVRoomState | 新房间状态 |
songId | String | 歌曲ID |
onSingingPlayStateChanged
API含义:演唱状态更新
使用示例:
void onSingingPlayStateChanged(KTVMusicPlayState oldState, KTVMusicPlayState newState, int score);
参数详情:
参数 | 类型 | 含义 |
oldState | KTVMusicPlayState | 旧演唱状态 |
newState | KTVMusicPlayState | 新演唱状态 |
score | int | 演唱分数,演唱结束时同步 |
onKTVStateSyncRequest
API含义:新用户请求发送房间当前状态
使用示例:
void onKTVStateSyncRequest(String userId);
参数详情:
参数 | 类型 | 含义 |
userId | String | 用户ID |
ARTCKaraokeRoomMusicLibrary详情
fetchMusicChartList
API含义:获取榜单列表
使用示例:
void fetchMusicChartList(@NonNull ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicChartCallback callback);
参数详情:
参数 | 类型 | 含义 |
callback | ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicChartCallback | 回调接口 |
fetchMusicList
API含义:获取榜单歌曲列表
使用示例:
void fetchMusicList(@NonNull String chartId, int pageIndex, int pageSize, @NonNull ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicInfoListCallback callback);
参数详情:
参数 | 类型 | 含义 |
chartId | String | 榜单ID |
pageIndex | int | 列表页index |
pageSize | int | 列表页大小 |
callback | ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicInfoListCallback | 回调接口 |
fetchMusicInfo
API含义:获取歌曲信息
使用示例:
void fetchMusicInfo(@NonNull String songId, @NonNull ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicInfoCallback callback);
参数详情:
参数 | 类型 | 含义 |
songId | String | 歌曲ID |
callback | ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicInfoCallback | 回调接口 |
fetchMusicLyric
API含义:获取歌词
使用示例:
void fetchMusicLyric(@NonNull String songId, @NonNull ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicLyricCallback callback);
参数详情:
参数 | 类型 | 含义 |
songId | String | 歌曲ID |
callback | ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicLyricCallback | 回调接口 |
fetchMusicPitch
API含义:获取歌曲标准音高
使用示例:
void fetchMusicPitch(@NonNull String songId, @NonNull ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicPitchCallback callback);
参数详情:
参数 | 类型 | 含义 |
songId | String | 歌曲ID |
callback | ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicPitchCallback | 回调接口 |
searchMusic
API含义:搜索歌曲
使用示例:
void searchMusic(@NonNull String keyword, int pageIndex, int pageSize, @NonNull ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicInfoListCallback callback);
参数详情:
参数 | 类型 | 含义 |
keyword | String | 搜索关键字 |
pageIndex | int | 歌曲列表页Index |
pageSize | int | 歌曲列表页Size |
callback | ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicInfoListCallback | 回调接口 |
downloadMusic
API含义:下载歌曲
使用示例:
void downloadMusic(@NonNull String songId, ARTCKaraokeRoomActionCallback actionCallback);
参数详情:
参数 | 类型 | 含义 |
songId | String | 歌曲ID |
actionCallback | ARTCKaraokeRoomActionCallback | 回调接口 |
isMusicDownloaded
API含义:歌曲是否已经下载完成
使用示例:
boolean isMusicDownloaded(String songId);
参数详情:
参数 | 类型 | 含义 |
songId | String | 歌曲ID |
setDownloadCallback
API含义:设置下载回调监听
使用示例:
/**
* 设置下载回调监听
* @param callback {@link ARTCKaraokeRoomMusicLibraryCallback}
*/
void setDownloadCallback(ARTCKaraokeRoomMusicLibraryCallback callback);
参数详情:
参数 | 类型 | 含义 |
callback | ARTCKaraokeRoomMusicLibraryCallback | 回调接口 |
destroy
API含义:销毁曲库实例
使用示例:
void destroy();
ARTCKaraokeRoomMusicLibraryCallback详情
onMusicDownloadCompleted
API含义:歌曲下载成功
使用示例:
void onMusicDownloadCompleted(KTVMusicInfo musicInfo);
参数详情:
参数 | 类型 | 含义 |
musicInfo | String | 歌曲 |
ARTCKaraokeRoomEngine详情
setCallback
API含义:设置演唱监听接口
使用示例:
void setCallback(@Nullable ARTCKaraokeRoomEngineCallback callback);
参数详情:
参数 | 类型 | 含义 |
callback | ARTCKaraokeRoomEngineCallback | 回调接口 |
setSingerRole
API含义:转换演唱角色,以管理相应角色的推拉流逻辑。调用时机:开始演唱前(必须在调用playMusic()前),或者结束演唱后。
使用示例:
boolean setSingerRole(KTVSingerRole newRole);
参数详情:
参数 | 类型 | 含义 |
newRole | KTVSingerRole | 目标转换角色 |
loadMusic
API含义:加载音乐资源,当收到加载成功回调后即可调用playMusic()播放音乐
使用示例:
void loadMusic(@NonNull String uri);
参数详情:
参数 | 类型 | 含义 |
uri | String | 本地或在线音乐地址 |
loadMusic
API含义:加载音乐资源,当收到加载成功回调后即可调用playMusic()播放音乐
使用示例:
void loadMusic(@NonNull KTVMusicConfig config);
参数详情:
参数 | 类型 | 含义 |
config | KTVMusicConfig | 音乐资源加载配置 |
loadCopyrightMusic
API含义:加载版权音乐资源,当收到加载成功回调后即可调用playMusic()播放音乐
使用示例:
void loadCopyrightMusic(@NonNull String songId);
参数详情:
参数 | 类型 | 含义 |
songId | String | 版权音乐ID |
playMusic
API含义:播放音乐。需要先调用loadMusic()并收到加载成功回调,才能调用此方法开始播放。如果设置了KTVMusicConfig#autoPlay为 true 则可以不调用此方法;合唱者也可以不调用此方法,内部会自动同步主唱者播放状态。
使用示例:
void playMusic();
stopMusic
API含义:停止播放音乐
使用示例:
void stopMusic();
resumeMusic
API含义:继续播放音乐
使用示例:
void resumeMusic();
pauseMusic
API含义:暂停播放音乐
使用示例:
void pauseMusic();
seekMusicTo
API含义:跳到某个位置继续播放
使用示例:
void seekMusicTo(long millisecond);
参数详情:
参数 | 类型 | 含义 |
millisecond | long | 播放位置 |
getMusicTotalDuration
API含义:获取音乐总时长,必须在加载音乐资源成功后调用才有效,否则返回 0
使用示例:
long getMusicTotalDuration();
getMusicCurrentProgress
API含义:获取当前播放进度,必须在加载音乐资源成功后调用才有效,否则返回 0
使用示例:
long getMusicCurrentProgress();
setMusicAccompanimentMode
API含义:切换伴奏/原唱模式
使用示例:
void setMusicAccompanimentMode(boolean original);
参数详情:
参数 | 类型 | 含义 |
original | boolean | 是否原唱 |
setMusicVolume
API含义:设置伴奏(音乐播放)音量
使用示例:
void setMusicVolume(int volume);
参数详情:
参数 | 类型 | 含义 |
volume | int | 目标音量 |
ARTCKaraokeRoomEngineCallback详情
onMusicPrepareStateUpdate
API含义:音乐资源准备状态回调,听众角色不会收到这个回调。
使用示例:
void onMusicPrepareStateUpdate(KTVMusicPrepareState state);
参数详情:
参数 | 类型 | 含义 |
state | KTVMusicPrepareState | 准备状态 |
onMusicPlayStateUpdate
API含义:音乐播放状态回调,听众角色不会收到这个回调。
使用示例:
void onMusicPlayStateUpdate(KTVMusicPlayState state);
参数详情:
参数 | 类型 | 含义 |
state | KTVMusicPlayState | 播放状态 |
onMusicPlayProgressUpdate
API含义:音乐播放进度回调
使用示例:
void onMusicPlayProgressUpdate(long millisecond);
参数详情:
参数 | 类型 | 含义 |
millisecond | long | 音乐当前播放的位置 |
onSingerRoleUpdate
API含义:演唱角色变化回调
使用示例:
void init(Context context, ClientMode mode, String appId, UserInfo userInfo, IMNewToken token, ActionCallback callback);
参数详情:
参数 | 类型 | 含义 |
oldRole | KTVSingerRole | 旧角色 |
newRole | KTVSingerRole | 新角色 |